package com.xqzgj.stock.domain;

import java.math.BigDecimal;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.xqzgj.common.annotation.Excel;
import com.xqzgj.common.core.domain.BaseEntity;

/**
 * 商品信息对象 product
 * 
 * @author zhoujiam
 * @date 2025-03-31
 */
public class Product extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 商品ID */
    private Long id;

    /** 商品名称 */
    @Excel(name = "商品名称")
    private String name;

    /** 类别 */
    @Excel(name = "类别")
    private String category;

    /** 单价 */
    @Excel(name = "单价")
    private BigDecimal price;

    /** 库存数量 */
    @Excel(name = "库存数量")
    private Long stockQuantity;

    /** 库存下限（低于此值提醒） */
    @Excel(name = "库存下限", readConverterExp = "低=于此值提醒")
    private Long minStock;

    /** 供应商ID（可选） */
    @Excel(name = "供应商ID", readConverterExp = "可=选")
    private Long supplierId;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setCategory(String category) 
    {
        this.category = category;
    }

    public String getCategory() 
    {
        return category;
    }
    public void setPrice(BigDecimal price) 
    {
        this.price = price;
    }

    public BigDecimal getPrice() 
    {
        return price;
    }
    public void setStockQuantity(Long stockQuantity) 
    {
        this.stockQuantity = stockQuantity;
    }

    public Long getStockQuantity() 
    {
        return stockQuantity;
    }
    public void setMinStock(Long minStock) 
    {
        this.minStock = minStock;
    }

    public Long getMinStock() 
    {
        return minStock;
    }
    public void setSupplierId(Long supplierId) 
    {
        this.supplierId = supplierId;
    }

    public Long getSupplierId() 
    {
        return supplierId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("name", getName())
            .append("category", getCategory())
            .append("price", getPrice())
            .append("stockQuantity", getStockQuantity())
            .append("minStock", getMinStock())
            .append("supplierId", getSupplierId())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
